IMU Noise Model

The IMU Noise Model

  • Kalibr에 사용된 IMU 측정 모델에는 두 가지 유형의 센서 오류가 포함되어 있음

    • White Noise nn

      • 매우 빠르게 변동하는 noise
    • Bias bb

      • 천천히 변동하는 센서 bias
    • 예를 들어, 각도에 대한 rate measurement인 ω~\tilde{\omega}는 아래와 같이 표현 가능

      • ω~(t)=ω(t)+b(t)+n(t).\tilde{\omega}(t)=\omega(t)+b(t)+n(t) .
      • 세 개의 센서 축 모두를 모델링하기 위해 동일한 모델이 독립적으로 사용됨
      • 위 모델은 가속도계 측정 오류를 모델링하는 데에도 사용되기도 함

White Noise

  • continuous-time

    • E[n(t)]0E[n(t)] \equiv 0
    • E[n(t1)n(t2)]=σg2δ(t1t2)E\left[n\left(t_1\right) n\left(t_2\right)\right]=\sigma_g^2 \delta\left(t_1-t_2\right)

      • σg\sigma_g (noise strength)

        ⇒ 클수록 gyro measurements의 노이즈가 심함을 의미

        σg\sigma_g: gyroscope_noise_density in Kalibr

        σa\sigma_a: accelerometer_noise_density in Kalibr

  • discrete-time

    • nd[k]=σgdw[k]n_d[k]=\sigma_{g d} w[k]

      • w[k]N(0,1)w[k] \sim \mathcal{N}(0,1)
      • σgd=σg1Δt\sigma_{g d}=\sigma_g \frac{1}{\sqrt{\Delta t}}
      • Δt\Delta t: sampling time

Bias

  • Brownian motion process, Wiener process, Random walk 등으로 불림
  • continuous-time

    • b˙g(t)=σbgw(t)\dot{b}_g(t)=\sigma_{b g} w(t)

      • ww: white noise

        ⇒ 이 값은 bias의 strength와 결합되어 bias를 결정하게 됨

      • σbg\sigma_{bg} (gyro bias strength), σba\sigma_{ba} (accel bias strength)

        ⇒ bias의 variations이 클수록 위 파라미터를 높게 설정해야 함

        σbg\sigma_{bg}: gyroscope_random_walk in Kalibr

        σba\sigma_{ba}: accelerometer_random_walk in Kalibr

  • discrete-time

    • bd[k]=bd[k1]+σbgdw[k]b_d[k]=b_d[k-1]+\sigma_{b g d} w[k]

      • w[k]N(0,1)w[k] \sim \mathcal{N}(0,1)
      • σbgd=σbgΔt\sigma_{b g d}=\sigma_{b g} \sqrt{\Delta t}

The Noise Model Parameters in Kalibr

  • White Noise Model

    E[n(t)]03×1E[n(t1)nT(t2)]=σg2I3×3δ(t1t2)\begin{aligned}& E[\mathbf{n}(t)] \equiv \mathbf{0}_{3 \times 1} \\& E\left[\mathbf{n}\left(t_1\right) \mathbf{n}^T\left(t_2\right)\right]=\sigma_g^2 \mathbf{I}_{3 \times 3} \delta\left(t_1-t_2\right)\end{aligned}

Parameter Kalibr element Symbol Units
Gyroscope “white noise” gyroscope_noise_density σg\sigma_{g} rads1Hz\frac{\mathrm{rad}}{s} \frac{1}{\sqrt{H z}}
Accelerometer “white noise” accelerometer_noise_density σa\sigma_{a} ms21Hz\frac{\mathrm{m}}{s^2} \frac{1}{\sqrt{H z}}
Gyroscope “random walk” gyroscope_random_walk σbg\sigma_{bg} rads21Hz\frac{\mathrm{rad}}{s^2} \frac{1}{\sqrt{H z}}
Accelerometer “random walk” accelerometer_random_walk σba\sigma_{ba} ms31Hz\frac{\mathrm{m}}{s^3} \frac{1}{\sqrt{H z}}
IMU sampling rate update_rate 1Δt\frac{1}{\Delta t} HzH z

How to Obtain the Parameters for your IMU

From the Datasheet of the IMU

  • Check the Datesheet of the IMU

From the Allan standard deviation (AD)


Written by@Miller Shin (SeungRyeol Shin)
Robotics Engineer | ROS | AMR(Autonomous Mobile Robot) | Agricultural Robot | SLAM & Navigation | Robotics Application

InstagramGitHubLinkedIn